SQL的别名和SQL的执行顺序和SQL优化 |
您所在的位置:网站首页 › sql 加别名 › SQL的别名和SQL的执行顺序和SQL优化 |
致敬原文:https://www.cnblogs.com/cindy-cindy/p/6798010.html SQL的别名 1、不可以在where子句中使用列名的别名,即select name t from emp where t>2999;是不允许的 2、使用别名的好处: 提高SQL的易读性 提高SQL的解析执行效率 语法检查 语义检查 共享池检查 生成执行树 执行 3、SQL的硬解析和软解析? SQL的执行顺序 1、from语句–where语句–group by语句–having语句–select语句–order by语句 rownum的使用 select * from emp rownum=5 and m.t和>=,使用>=优先,如a>2000和a>=2001,这样可以避免过滤2000和2001之间的小数,可以调高效率 4、where子句中,不等于判断会使索引失效。 5、where子句中,对列做运算,例如,加减乘除,会使索隐列失效。所以尽量不要在索隐列上做操作。 6、模糊查询时,like “%abc%”,前模糊会导致索引失效,后模糊不会导致索引失效。 7、in和exists的区别? 1、in适合内表小外表大的情况,select * from emp where emp.deptno in (select deptno from dept) 2、exists适合外表小内表大的情况.如此运用可提升效率 注:由于两者对表的连接方式不同,导致以上区分,in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。 8、not in 和 not exists 用法同上 9、某些情况下可以使用exists替换distinct。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |